const webpack = require('webpack');

//当前时间为了防止打包缓存不刷新，所以给每个js文件都加一个时间戳
const Timestamp = new Date().getTime();

const vConsolePlugin = require('vconsole-webpack-plugin');

module.exports = {
  publicPath: "./",
  outputDir: "dist",
  assetsDir: "static",
  indexPath: "index.html",
  lintOnSave: false,
  configureWebpack: {
    plugins: [
      // 引入jQuery
      new webpack.ProvidePlugin({
        $:"jquery",
        jQuery:"jquery",
        "windows.jQuery":"jquery"
      }),
      // 生产环境去掉vConsole调试器
      new vConsolePlugin({
        filter: [],
        enable: process.env.NODE_ENV !== 'production'
      })
    ],
    // 这部分打包文件添加时间戳，以防止缓存不更新
    output: { // 输出重构  打包编译后的 文件名称  【模块名称.版本号.时间戳】
      // filename: `[name].${process.env.VUE_APP_Version}.${Timestamp}.js`,
      // chunkFilename: `[name].${process.env.VUE_APP_Version}.${Timestamp}.js`,
      filename: `./static/js/app/[name].${Timestamp}.js`,
      chunkFilename: `./static/js/chunk/[name].${Timestamp}.js`,
    },
  },
  // 修改的配置
  devServer: {
    port:8080,
    proxy: {
      //如果地址以/walle开头，它就会请求到 http://192.168.1.106:8081/walle
      '/walle': {
        target: 'http://192.168.1.106:8081',
        changeOrigin: true,
        ws: true,
        pathRewrite: {
          '^/walle': '/walle',   //重写请求路径
        },
      }
    },
    disableHostCheck: true, // 这是由于新版的webpack-dev-server出于安全考虑，默认检查hostname，如果hostname 不是配置内的，将中断访问。
  }
};
